/*
 * TestSimiliridad.cpp
 *
 *  Created on: 25/09/2011
 *      Author: leonel
 */

/* me creo una lista invertida y luego le paso una consuta
 *
 */

#include <list>
#include <string>
#include "../indice/RegistroRelevanciaDeDocumento.h"
#include "../indice/RegistroDePesosNormalizados.h"
#include "../indice/RegistroIndice.h"
#include "../indice/IndiceInvertido.h"
#include "../indice/Indexador.h"
//#include "../indice/ListaInvertida.h"

using namespace std;

//int main(){
//
//	RegistroDePesosNormalizados *rp1 = new RegistroDePesosNormalizados(4,1.5);
//	RegistroDePesosNormalizados *rp2 = new RegistroDePesosNormalizados(2,0.5);
//	RegistroDePesosNormalizados *rp3 = new RegistroDePesosNormalizados(3,2.5);
//	RegistroDePesosNormalizados *rp4 = new RegistroDePesosNormalizados(5,2.5);
//	RegistroDePesosNormalizados *rp5 = new RegistroDePesosNormalizados(2,0.5);
//	RegistroDePesosNormalizados *rp6 = new RegistroDePesosNormalizados(2,1.5);
//	RegistroDePesosNormalizados *rp7 = new RegistroDePesosNormalizados(1,0.5);
//	RegistroDePesosNormalizados *rp8 = new RegistroDePesosNormalizados(3,2.5);
//
//	//ahora creo los registroIndice
//	RegistroIndice *ri1 = new RegistroIndice("leo");
//	ri1->agregarDocumento(*rp1);
//	RegistroIndice *ri2 = new RegistroIndice("lionel");
//	ri2->agregarDocumento(*rp2);
//	ri2->agregarDocumento(*rp3);
//	RegistroIndice *ri3 = new RegistroIndice("mas");
//	ri3->agregarDocumento(*rp4);
//	RegistroIndice *ri4 = new RegistroIndice("mes");
//	ri4->agregarDocumento(*rp5);
//	RegistroIndice *ri5 = new RegistroIndice("messi");
//	ri5->agregarDocumento(*rp6);
//	RegistroIndice *ri6 = new RegistroIndice("2011");
//	ri6->agregarDocumento(*rp7);
//	ri6->agregarDocumento(*rp8);
//
//	//ahora creo la lista invertida
//
////	ListaInvertida *listaI = new ListaInvertida();
//	IndiceInvertido *indiceI = new IndiceInvertido();
//	indiceI->agregarRegistro(ri1->obtenerPalabra(),ri1);
//	indiceI->agregarRegistro(ri2->obtenerPalabra(),ri2);
//	indiceI->agregarRegistro(ri3->obtenerPalabra(),ri3);
//	indiceI->agregarRegistro(ri4->obtenerPalabra(),ri4);
//	indiceI->agregarRegistro(ri5->obtenerPalabra(),ri5);
//	indiceI->agregarRegistro(ri6->obtenerPalabra(),ri6);
//
//	// armo una lista para la consulta
//	list<string> listaConsulta;
//	listaConsulta.push_back("lionel");
//	listaConsulta.push_back("messi");
//	listaConsulta.push_back("2011");
//
//	//preparo una lista para recibir las relevancias
//
//	vector<RegistroRelevanciaDeDocumento> vecRelevancias;
//
//	//creo un indexador
//
//	Indexador *index = new Indexador(indiceI);
//
//	//y ahora invoco al metodo que calcula las relevancias de los documentos
//
//	vecRelevancias = index->obtenerRelevanciasDeDocumentosAsociadosConLaConsulta(listaConsulta,5);
//
//	//muestro los resultados
//	int tam = vecRelevancias.size();
//    for (int i = tam-1 ;i >= 0;i--){
//		cout<<"Documento: "<<vecRelevancias[i].getId_Doc()<<", relevancia: "<<vecRelevancias[i].getRelevancia()<<endl;
//    }
//
//}
